const express = require('express')

const app =express()

const router = require('./express10-apiRouter')

//配置介意表单内数据的中间件
app.use(express.urlencoded({extended:false}))

//必须在配置cors中间件之前，配置JSONP接口
app.get('/api/jsonp',(req,res)=>{
    //TODO:定义JSONP接口的具体实现步骤
    
    //1.得到函数的名称
    const funcName=req.query.callback
    
    //2.定义要发送到客户端的数据对象
    const data ={name:'zs',age:22}

    //3.拼接出一个函数的调用
    const scriptStr = `${funcName}(${JSON.stringify(data)})`

    //4.把拼接的字符串，响应给客户端
    res.send(scriptStr)
})

//一定要再路由之前，配置cors这个中间件，从而解决接口跨域的问题
const cors = require('cors')
app.use(cors())

app.use('/api',router)

//2.定义错误级别中间件，捕获整个项目的异常错误，从而防止程序的崩溃
app.use((err,req,res,next)=>{
    console.log('发生了错误'+err.message)
    res.send('Error'+err.message)
})

app.listen('80',()=>{
    console.log('express server running at http://127.0.0.1')
})